package tests;

import java.util.Calendar;
import java.util.Vector;

import data.Data;
import data.GeneralDefinitions.ClusteringPriorityParameters;
import data.GeneralDefinitions.OrderingParameters;
import data.LUN;
import data.LUNPerTimeUnit;
import data.TimeUnit;

public class CompData implements Data {

    Vector<TimeUnit> tu = new Vector<TimeUnit>();
    Vector<LUN> l = new Vector<LUN>();
    int[] unactive = {0};

    public CompData() {
        Calendar startCal = Calendar.getInstance();
        startCal.setTimeInMillis(1243083118904L); //making the time  a constant
        Calendar endCal = (Calendar) startCal.clone();
        endCal.add(Calendar.SECOND, 1);
        for (int i = 0; i < 5; i++) {
            tu.add(new TimeUnit(i, 600, i, i, i, i));
            l.add(new LUN(i, 2, i, i));
            startCal.add(Calendar.SECOND, 1);
            endCal.add(Calendar.SECOND, 1);
        }

    }

    @Override
    public LUN getLUN(int LUNid) {
        return l.elementAt(LUNid);
    }

    @Override
    public LUNPerTimeUnit getLUNPerTimeUnit(int TimeUnitID, int LUNid) {
        return null;
    }

    @Override
    public double[] getLUNVector(int LUNid, ClusteringPriorityParameters clusterType, Calendar startDate, Calendar endDate) {
        return null;
    }

    @Override
    public int[] getOrderedLUNVector(OrderingParameters orderingParameter) {
        return null;
    }

    @Override
    public TimeUnit getTimeUnit(int TimeUnitID) {
        return tu.elementAt(TimeUnitID);
    }

    @Override
    public long getTotalBytesWritten(int TimeUnitID) {
        return 0;
    }

    @Override
    public double getTotalSize() {
        return 10;
    }

    @Override
    public int[] getUnactiveLUNs(int threshold) {
        return unactive;
    }

    @Override
    public void parse(String filename) {
    }

    @Override
    public int[] getLUNs() {
        return null;
    }

    @Override
    public int getNumOfTimeUnits() {
        return 5;
    }

	@Override
	public void addLun(int lun_id, int size) {
	}

	@Override
	public void addLunPerTimeUnit(int lun_id, int timeunit_id,
			double kbWritten, double kbRead, double numOfReads,
			double numOfWrites) {
	}

	@Override
	public void  addTimeUnit(int timeUnit_id, int size){
	}

	@Override
	public void endTransactions() {
	}

	@Override
	public LUNPerTimeUnit[] getAllLunPerTimeUnits(int timeUnitId, int start,
			int end, OrderingParameters orderingParameter) {
		return null;
	}

	@Override
	public String getFIleName() {
		return null;
	}

	@Override
	public void addTimeUnit(int timeUnit_id, int size, Calendar d) {
		// TODO Auto-generated method stub
		
	}
}
